package com.caochenlei.principle.dependenceInversion;

public class DependenceInversion1 {
    public static void main(String[] args) {
        /**
         * 当你功能需求明确时，我们实现了接收qq用户信息的方法
         * 但是，在某一天，市场上突然qq没有了，只有wx这一家了
         * 你要是新增加wx用户信息接受的方法就必须修改receive
         * receive(QQ qq)  --》  receive(WX wx)
         */
        Client1 client = new Client1();
        client.receive(new QQ());
    }
}

class WX {
    public void getUserInfo(Integer uid) {
        System.out.println("WX getUserInfo " + uid);
    }
}

class QQ {
    public void getUserInfo(Integer uid) {
        System.out.println("QQ getUserInfo " + uid);
    }
}

class Client1 {
    public void receive(QQ qq) {
        qq.getUserInfo(774908833);
    }
}
